import Vue from 'vue';
import Vuex from 'vuex';

// 引入 >>> actions对象
import actions from './actions'
// 引入 >>> mutations对象
import mutations from './mutations'
// 引入 >>> getters对象
import getters from './getters'


// 1. vuex安装 >>> Vue.use()
Vue.use(Vuex);

// 2. 创建一个Store对象
const store = new Vuex.Store({
  // 状态 >>> 变量存储
  state: {
    // 购物车列表
    cartList: []
  },

  // 同步任务提交
  mutations,

  // 异步任务提交
  actions,

  // 类似计算属性的东西: 根据它的依赖被缓存起来, 且只有当它的依赖发生了改变才会被重新计算
  getters,

  // 模块划分
  modules: {}
});

// 3. 导出Store对象
export default store;